1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a data storage subsystem for use with a data processing system. Still more particularly, the present invention provides a method for dynamic mapping of operations in a data processing storage subsystem.
2. Description of Related Art
In computer systems and data storage subsystems, one problem is introducing new physical storage devices into a subsystem for management. Another problem is to manage existing physical storage using new allocations to new sets of users. A third problem is performing a data file copy operation in a manner that minimizes the amount of time before the operation is completed and also minimizes the use of processing resources and data storage memory. Such copies are called xe2x80x98point in timexe2x80x99 or xe2x80x98instantxe2x80x99 or snapshot copies (snaps). The ability to introduce and use a new storage device in a storage system is improved when the mechanism for the host to address the storage space is mapped through one of the existing virtualization mechanisms that storage system venders currently support. Virtualization allows the host system to see one description of the storage space and for that description to be mapped to a completely different physical structure of the storage space. Using virtualization (sometimes called logical device mapping) to map what the host understands (often called the virtual device) allows the physical space to be changed without changing the host virtual images. Likewise, when the host wants to change the virtual mapping and allocate storage space to different applications in a new way, the virtualization allows that to proceed without having to make corresponding changes in the physical storage structures. One of the mechanisms used to accomplish virtualization is to use a system of pointers. Using pointers also allows one to address the third problem mentioned above.
Previously, data files were copied in their entirety by the processor, such that two exact copies of the selected data file were resident in the data storage memory. This operation consumed twice the amount of memory for the storage of two identical copies of the data file. Additionally, this operation required the intervention of the processor to effect the copy of the original data file.
A data file snapshot copy is an improvement over this type of copy process. This snapshot copy process includes a mapped virtual data storage subsystem using pointers. This subsystem stores data received from a processor in back-end data storage devices by mapping the processor assigned data identifier to a logical address that identifies the physical storage location of the data. This mapped virtual data storage subsystem performs a copy of a subset of this data by creating a duplicate set of data pointers to the data and linking this to an identifier in a mapping table to reference the original data. In this mapped virtual data storage subsystem, the data is often organized in a collection (sometimes called a data file, a data set, or a logical unit number or LUN) which is recognized by or referred to as a set of xe2x80x9cvirtual tracksxe2x80x9d and each data file is identified by unique virtual track addresses (VTAs). The use of a mapping table provides the opportunity to replace the process of copying the entirety of a data file in the physical data storage devices with a process that manipulates the contents of the mapping table. A data file appears to have been copied if the name used to identify the original data file and the name used to identify the copy data file are both mapped to the same physical data storage location coupled with the ability to change only one (or the other) with the changes being specifically localized only to the data file being changed.
This mechanism enables the processor to access the data file via two virtual addresses while only a single physical copy of the unchanged data file resides on the back-end data storage devices in the data storage subsystem. This process minimizes the time required to execute the copy operation and the amount of memory used since the copy operation is carried out by creating a new pointer to the original data file and does not require any copying of the data file itself.
System administrators are beginning to realize that the benefits of virtualization in introducing new physical devices into use and mapping storage space for new sets of users and also xe2x80x9cpoint in timexe2x80x9d or xe2x80x9cinstantxe2x80x9d copies of data are extremely useful. However, the system administrator has to specifically plan for and request execution of these copies at the host level, such as setting up mirrored volumes or using the snapshot commands available in virtual mapping subsystems.
In addition, when attempting to provide the benefits of virtualized data storage, some type of mapping scheme is required. One of the problems with some of the existing mapping schemes is the additional processing overhead needed to process the mapping algorithm or following the mapping pointers to find the location of the desired data. Some of the mapping schemes force the manipulation of many pointers in order to perform operations on large sets of mapped data. Some mapping schemes also force the allocation of mapping tables for all possible virtual addresses whether or not those addresses are actually used.
Therefore, it would be desirable to have a method that provides for an arbitrarily larger amount of data storage with algorithmic access to most of the storage space, without expending the computational resources needed to manage the permanent, larger mapping tables for the whole data space.
The present invention provides a method for using recovery mechanisms to dynamically map data in a computer storage subsystem. The invention comprises using a dynamic mapping mechanism to mark (D-Mark) a data location and then using pointers to direct write requests for the data location to a side file. The new data is then written in the side file and a housekeeping operation reconciles the old and new data locations.